package com.jshealthEJB.entidades;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;

import com.jshealthEJB.enums.EstadoCivilEnum;
import com.jshealthEJB.enums.OrientacionSexcualEnum;
import com.jshealthEJB.enums.SexoEnum;

import static javax.persistence.CascadeType.ALL;
import javax.persistence.OneToMany;

/**
 * Entidad que contiene la información del usuario de la IPS
 *
 */
@Entity
@PrimaryKeyJoinColumn(name="idPersona")
public class UsuarioIPS extends Persona implements Serializable {

	private long idUsuarioIPS;
	
	private Date fechaNacimiento;
	
	private EstadoCivilEnum estadoCivil;
	
	private SexoEnum sexo;
	
	private OrientacionSexcualEnum orientacionSexual;
	
	@OneToOne(cascade = ALL)
	private PersonaResponsable personaResponsable;	
	
	@OneToMany(mappedBy = "usuario")
	private List<CampoUsuarioResolucion> camposResoluciones;
	
	private String aseguradoraEPS;
	
	private String regimenAfiliacion;

	private static final long serialVersionUID = 1L;

	public long getIdUsuarioIPS() {
		return idUsuarioIPS;
	}

	public void setIdUsuarioIps(long idUsuarioIPS) {
		this.idUsuarioIPS = idUsuarioIPS;
	}

	public Date getFechaNacimiento() {
		return fechaNacimiento;
	}

	public void setFechaNacimiento(Date fechaNacimiento) {
		this.fechaNacimiento = fechaNacimiento;
	}

	public EstadoCivilEnum getEstadoCivil() {
		return estadoCivil;
	}

	public void setEstadoCivil(EstadoCivilEnum estadoCivil) {
		this.estadoCivil = estadoCivil;
	}

	public SexoEnum getSexo() {
		return sexo;
	}

	public void setSexo(SexoEnum sexo) {
		this.sexo = sexo;
	}

	public OrientacionSexcualEnum getOrientacionSexual() {
		return orientacionSexual;
	}

	public void setOrientacionSexual(OrientacionSexcualEnum orientacionSexual) {
		this.orientacionSexual = orientacionSexual;
	}

	public PersonaResponsable getPersonaResponsable() {
		return personaResponsable;
	}

	public void setPersonaResponsable(PersonaResponsable personaResponsable) {
		this.personaResponsable = personaResponsable;
	}

	public String getAseguradoraEPS() {
		return aseguradoraEPS;
	}

	public void setAseguradoraEPS(String aseguradoraEPS) {
		this.aseguradoraEPS = aseguradoraEPS;
	}

	public String getRegimenAfiliacion() {
		return regimenAfiliacion;
	}

	public void setRegimenAfiliacion(String regimenAfiliacion) {
		this.regimenAfiliacion = regimenAfiliacion;
	}

	public List<CampoUsuarioResolucion> getCamposResoluciones() {
		return camposResoluciones;
	}

	public void setCamposResoluciones(
			List<CampoUsuarioResolucion> camposResoluciones) {
		this.camposResoluciones = camposResoluciones;
	}

	public void setIdUsuarioIPS(long idUsuarioIPS) {
		this.idUsuarioIPS = idUsuarioIPS;
	}	
	
	
   
}
